home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
libblas
/
syrk.z
/
syrk
Wrap
Text File
|
1998-10-30
|
17KB
|
265 lines
____SSSSYYYYRRRRKKKK((((3333FFFF)))) ____SSSSYYYYRRRRKKKK((((3333FFFF))))
NNNNAAAAMMMMEEEE
dsyrk, ssyrk, zsyrk, csyrk - BLAS level three Symmetric Rank K Update.
FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
rrrreeeeaaaallll aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
rrrreeeeaaaallll aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo,,,, ttttrrrraaaannnnssss
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
vvvvooooiiiidddd ddddssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
ddddoooouuuubbbblllleeee ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
vvvvooooiiiidddd ssssssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
ffffllllooooaaaatttt ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
vvvvooooiiiidddd zzzzssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
ZZZZoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
PPPPaaaaggggeeee 1111
____SSSSYYYYRRRRKKKK((((3333FFFF)))) ____SSSSYYYYRRRRKKKK((((3333FFFF))))
vvvvooooiiiidddd ccccssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee ttttrrrraaaannnnssss;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
CCCCoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ddddssssyyyyrrrrkkkk ,,,, ssssssssyyyyrrrrkkkk ,,,, zzzzssssyyyyrrrrkkkk and ccccssssyyyyrrrrkkkk perform one of the matrix-matrix
operations
C := alpha*A*A' + beta*C,
or
C := alpha*A'*A + beta*C,
where alpha and beta are scalars, C is an n by n symmetric matrix and A
is an n by k matrix in the first case and a k by n matrix in the second
case.
PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
uuuupppplllloooo On entry, uuuupppplllloooo specifies whether the matrix is an upper or lower
triangular matrix as follows:
FFFFOOOORRRRTTTTRRRRAAAANNNN
uplo = 'U' or 'u' Only the upper triangular part of C
is to be referenced.
uplo = 'L' or 'l' Only the lower triangular part of C
is to be referenced.
CCCC
uplo = UpperTriangle Only the upper triangular part of C
is to be referenced.
uplo = LowerTriangle Only the lower triangular part of C
is to be referenced.
Unchanged on exit.
ttttrrrraaaannnnssss On entry, ttttrrrraaaannnnssss specifies the operation to be performed as
follows:
FFFFOOOORRRRTTTTRRRRAAAANNNN
trans = 'N' or 'n' C := alpha*A*A' + beta*C.
trans = 'T' or 't' C := alpha*A'*A + beta*C.
CCCC
trans = NoTranspose C := alpha*A*A' + beta*C.
trans = Transpose C := alpha*A'*A + beta*C.
PPPPaaaaggggeeee 2222
____SSSSYYYYRRRRKKKK((((3333FFFF)))) ____SSSSYYYYRRRRKKKK((((3333FFFF))))
Unchanged on exit.
nnnn On entry, nnnn specifies the order of the matrix C. nnnn must be at
least zero.
Unchanged on exit.
kkkk On entry with, trans = 'N' or 'n' or NoTranspose kkkk specifies the
number of columns of the matrix A, and on entry with trans = 'T'
or 't' or Transpose, kkkk specifies the number of rows of the
matrix A. K must be at least zero.
Unchanged on exit.
aaaallllpppphhhhaaaa specifies the scalar alpha.
Unchanged on exit.
aaaa An array containing the matrix A.
FFFFOOOORRRRTTTTRRRRAAAANNNN
Array of dimension (lda, ka).
CCCC
A pointer to an array of size lda*ka.
See note below about array storage convention for C.
kkkkaaaa is kkkk when transa = 'N' or 'n' or NoTranspose and is nnnn
otherwise. Before entry with trans = 'N' or 'n' or NoTranspose,
the leading n by k part of the array aaaa must contain the matrix A,
otherwise the leading k by n part of the array aaaa must contain
the matrix A.
Unchanged on exit.
llllddddaaaa On entry, llllddddaaaa specifies the first dimension of aaaa as declared in
the calling (sub) program. When transa = 'N' or 'n' or
NoTranspose, then lda must be at least max( 1, n ), otherwise lda
must be at least max( 1, k ).
Unchanged on exit.
bbbbeeeettttaaaa On entry, bbbbeeeettttaaaa specifies the scalar beta.
Unchanged on exit.
cccc An array containing the matrix C.
FFFFOOOORRRRTTTTRRRRAAAANNNN
An array of dimension ( ldc, n ).
CCCC
A pointer to an array of size ldc*n.
See note below about array storage convention for C.
Before entry with uplo = 'U' or 'u' or UpperTraingle, the
leading n by n triangular part of the symmetric matrix and
PPPPaaaaggggeeee 3333
____SSSSYYYYRRRRKKKK((((3333FFFF)))) ____SSSSYYYYRRRRKKKK((((3333FFFF))))
the strictly lower triangular part of C is not referenced. On
exit, the upper triangular part of the array C is overwritten by
the upper triangular part of the updated matrix.
Before entry with uplo = 'L' or 'l', the leading n by n lower
triangular part of the array C must contain the lower triangular
part of the symmetric matrix and the strictly upper triangular
part of C is not referenced. On exit, the lower triangular part
of the array C is overwritten by the lower triangular part of
the updated matrix.
llllddddcccc On entry, llllddddcccc specifies the first dimension of cccc as declared in
the calling (sub) program. llllddddcccc must be at least max( 1, n ).
Unchanged on exit.
CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
in an analogous fashion as a Fortran array (column major). Therefore,
the element A(i+1,j) of matrix A is stored immediately after the
element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
The element A(i,j) of the matrix can be accessed directly by reference
to a[ (j-1)*lda + (i-1) ].
AAAAUUUUTTTTHHHHOOOORRRRSSSS
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
TTTTUUUUNNNNIIIINNNNGGGG
Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
PPPPaaaaggggeeee 4444